In a previously filed U.S. patent application, Ser. No. 338,330, the present inventors described a facsimile receiver which uses a "drop on demand" type of ink jet printhead to print facsimile images on plain paper. Printing on plain paper has obvious advantages over printing on thermal paper (which is the most common type of paper used in facsimile receivers), and the use of an ink jet type of printhead permits a receiver to be made at low cost. The printhead described in the previous application is one which has multiple ink jet nozzles arranged in two columns. Under electronic control, ejectors cause drops of ink to be ejected from these nozzles as needed to form the desired image. This arrangement results in a number of rows or lines of the facsimile image being printed simultaneously as the printhead scans across the page. Since facsimile signals are received in serial fashion and the printhead inherently utilizes a parallel data format, a certain amount of buffer memory and logic are necessary to allow the printhead ink ejectors to be driven.
So long as the printhead scanning speed is sufficient to print an image corresponding to the incoming facsimile data at least as fast as the data arrives (on average), the design of appropriate memory/logic systems is relatively straightforward. For example, two memory banks could be used as buffers between the incoming data stream and the printhead. These memory banks, called "scan buffers", should each be capable of storing the data for one scan of the printhead. Using this configuration, as the printhead scans across the page, one of the scan buffers outputs previously received data to the printhead ejector drivers, while the other accepts current incoming data. Before the second scan buffer is full, the printhead will have completed its travel across the page and be ready to start back to print the next group of lines. The printhead pauses until the second scan buffer is full, and then starts back across the page. On this pass of the printhead, the two scan buffers change places, the second outputting its data to the ejector drivers while the first is receiving data corresponding to the next scan. This alternating of scan buffers continues until the facsimile image is complete.
If the speed of scanning is slower than the rate of incoming data, the situation is not so simple. Under such conditions, the printhead will still be engaged in its first scan across the page after all of the data has been received for the second. Since facsimile data are transmitted continuously, data for the third scan of the printhead will be arriving while the printhead is still printing on its first scan. Therefore, the arriving data for the third scan, which should be stored in the scan buffer which is at that time outputting its contents to the printhead (and hence is not available to receive data), will be lost.
The present invention provides a system for handling incoming facsimile data which obviates the possibility of data loss.